//
//  LZGrouponPresenter.h
//  laziz_Consumer
//
//  Created by xbnzd on 16/11/19.
//  Copyright © 2016年 XBN. All rights reserved.
//



//***********************
//==========团购券相关======
//***********************

#import "LZBasePresenter.h"
@class LZGrabCouponAndFightGroupsDetialModel;

typedef void(^SuccessBlock)(LZGrabCouponAndFightGroupsDetialModel *model);
typedef void(^FailedBlock)(NSString *remind);


@interface LZGrouponPresenter : LZBasePresenter

#pragma mark -
#pragma mark 用户开团
/**
 用户开团
 
 @param groupName 团购名称
 @param sellerId 商户ID
 @param promotionId 视频id
 @param successBlock 成功
 @param failedBlock 失败
 */
+ (void)startGroupWithGroupName:(NSString*)groupName andSellerId:(NSString*)sellerId andPromotionId:(NSString*)promotionId ResultSuccess:(void(^)(NSString *groupPicture))successBlock ResultFailed:(FailedBlock)failedBlock;


#pragma mark -
#pragma mark 抢券详情或者团购详情

/**
 获取抢券或者拼团详情
 
 @param videoId 视频id
 @param successBlock 成功
 @param failedBlock 失败
 */
+ (void)getGrabCouponOrFightGroupsDetailWithVideoID:(NSString *)videoId ResultSuccess:(SuccessBlock)successBlock ResultFailed:(FailedBlock)failedBlock;

/**
 根据抢卷或拼团id获取优惠详细信息 根据抢卷或拼团id获取优惠详细信息（type 1 优惠卷，type 2 团购）
 
 @param videoId <#videoId description#>
 @param type <#type description#>
 @param successBlock <#successBlock description#>
 @param failedBlock <#failedBlock description#>
 */
+ (void)getMessageCenterTypeGrabCouponOrFightGroupsDetailWithVideoID:(NSString *)videoId andType:(NSString *)type ResultSuccess:(SuccessBlock)successBlock ResultFailed:(FailedBlock)failedBlock;

#pragma mark -
#pragma mark 使用团购
/**
 使用团购
 
 @param groupId 已抢团购id
 @param promotionId 优惠id
 @param successBlock 成功
 @param failedBlock 失败
 */
+ (void)useGrouponWithGroupID:(NSString *)groupId PromotionID:(NSString *)promotionId ResultSuccess:(void(^)(void))successBlock ResultFailed:(FailedBlock)failedBlock;



#pragma mark -
#pragma mark 参加拼团
/**
 参加拼团
 
 @param groupId 参团的团购id
 @param sellerId 商户id
 @param promotionId 优惠id
 @param grouponCount 团购要求成团人数 ==非必填
 @param successBlock 请求成功
 @param failedBlock 请求失败
 */
+ (void)joinGrouponWithGroupID:(NSString *)groupId SellerID:(NSString *)sellerId PromotionID:(NSString *)promotionId GrouponCount:(NSString *)grouponCount ResultSuccess:(void(^)(id result))successBlock ResultFailed:(FailedBlock)failedBlock;


#pragma mark -
#pragma mark 参团--用户取消参团
/**
 参团--用户取消参团
 
 @param groupId 参团的团购id
 @param promotionId 优惠id
 @param successBlock 请求成功
 @param failedBlock 请求失败
 */
+ (void)quitGrouponWithDisCountNo:(NSString *)disCountNo GroupID:(NSString *)groupId PromotionID:(NSString *)promotionId ResultSuccess:(void(^)(id result))successBlock ResultFailed:(FailedBlock)failedBlock;

#pragma mark -
#pragma mark 开团--用户取消开团
/**
 开团--用户取消开团
 
 @param groupId 参团的团购id
 @param successBlock 请求成功
 @param failedBlock 请求失败
 */
+ (void)cancelGrouponWithDisCountNo:(NSString *)disCountNo GroupID:(NSString *)groupId ResultSuccess:(void(^)(id result))successBlock ResultFailed:(FailedBlock)failedBlock;



#pragma mark -
#pragma mark 优惠视频团购列表

/**
 优惠视频团购列表

 @param promotionId 视频id
 @param pageNum <#pageNum description#>
 @param pageLimit <#pageLimit description#>
 @param successBlock <#successBlock description#>
 @param failedBlock <#failedBlock description#>
 */
+ (void)getVideoGroupListWithPromotionID:(NSString *)promotionId PageNum:(int)pageNum PageLimit:(int)pageLimit TimeStamp:(NSNumber*)timeStamp ResultSuccess:(void(^)(NSArray *listArr,NSNumber *startTime,NSNumber *endTime))successBlock ResultFailed:(FailedBlock)failedBlock;


#pragma mark -
#pragma mark 团购列表中团购详情

/**
 团购列表中团购详情

 @param groupId <#groupId description#>
 @param successBlock <#successBlock description#>
 @param failedBlock <#failedBlock description#>
 */
+ (void)getVideoGroupDetailWithGroupID:(NSString *)groupId ResultSuccess:(void(^)(id result,NSNumber *timestamp))successBlock ResultFailed:(FailedBlock)failedBlock;



@end
